<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p>我是div的大哥</p>
    <div class="test" id="no1">   
        <p>wall</p>
        <p>eye</p>
        <p>knee</p>
        我想把你的你写到我家户口本上
        <!-- 世界上最浪漫的事情是陪你一起吃早餐 -->
    </div>
    <p>我是div的老弟</p>
    <script>
        // var divEle = document.getElementsByTagName('div')[0];
        // console.log(divEle.childNodes);
        // console.log(divEle.childNodes.length)
        // text  文本节点   p 元素节点   comment 注释节点  

        // 属性节点 不作为 子元素存在  


        //非常规元素  
        // html  document.documentElement
        // body  document.body
        // head  document.head



        // 常规元素 
        // id  class  name 标签  querySelector querySelectorAll


        // childNodes  // 所有的子节点  元素 文本  注释 
        // var divEle = document.getElementsByTagName('div')[0];
        // // console.log(divEle.childNodes);
        // // console.log(divEle.childNodes.length)


        // children  //仅仅是子元素节点  
        // var divEle = document.getElementsByTagName('div')[0];
        // console.log(divEle.children); //[p, p, p]
        // console.log(divEle.children.length);

        // firstChild   
        // var divEle = document.getElementsByTagName('div')[0];
        // console.log(divEle.firstChild);// #text  第一个子节点 是文本几点
        // console.log(divEle.firstChild.length); // 12 一个空格一个长度
        // lastChild 
        
        // var divEle = document.getElementsByTagName('div')[0];
        // console.log(divEle.lastChild);// #text  第一个子节点 是文本几点
        // console.log(divEle.lastChild.length); // 12 一个空格一个长度


        // firstElementChild
            
        // var divEle = document.getElementsByTagName('div')[0];
        // console.log(divEle.firstElementChild); // <p>wall</p>
        // console.log(divEle.firstElementChild.firstChild);

        // lastElementChild
        // var divEle = document.getElementsByTagName('div')[0];
        // console.log(divEle.lastElementChild); // <p>wall</p>
        // console.log(divEle.lastElementChild.firstChild);

        // // nextSibling    同级的下一个节点   (元素文本注释)  老弟
        // var divEle = document.getElementsByTagName('div')[0];
        // console.log(divEle.nextSibling); 


        // //previousSibling  同级的上一个节点   (元素文本注释)  大哥
        // var divEle = document.getElementsByTagName('div')[0];
        // console.log(divEle.previousSibling); 


         // nextElementSibling    同级的下一个节点   (元素文本注释)  老弟
        //  var divEle = document.getElementsByTagName('div')[0];
        // console.log(divEle.nextElementSibling); 


        // //previousElementSibling  同级的上一个节点   (元素文本注释)  大哥
        // var divEle = document.getElementsByTagName('div')[0];
        // console.log(divEle.previousElementSibling); 


        // parentNode  父节点 
        // var divEle = document.getElementsByTagName('div')[0];
        // console.log(divEle.parentNode); 

        // // parentElement 父元素节点 
        // console.log(divEle.parentElement); 


        // attributes

        var divEle = document.getElementsByTagName('div')[0];
        console.log(divEle.attributes instanceof Object); //true 
        console.log([...divEle.attributes][0].name); // class
        console.log([...divEle.attributes][0].value); // test

        console.log([...divEle.attributes][1].name); // id
        console.log([...divEle.attributes][1].value); // no1
        // console.log(divEle.attributes[0]); // class="test"
        // console.log(divEle.attributes[0] instanceof Object); // class="test"

        // // var newobj = divEle.attributes[0];
        // // for(var k in newobj){
        // //     console.log('属性:',k)
        // // }
        // console.log(divEle.className);
        // console.log(divEle.id);

        // console.log(divEle.attributes[1]); 




    </script>
</body>
</html>